﻿/*
USE master
GO

RESTORE DATABASE LD_Operacion
FROM DISK = 'D:\ALSA\Clientes\Universal\BaseDatos\Backups\SQL2000\LD_Operacion(2010-12).bak'
WITH REPLACE 
GO

*/
/*
Idea:
	Si no existen datos en Lit_OT
	1. Crea columna temporal en OT que tenga ref a entrega
	2. Copia todos los reg de entrega a OT
	3. Actualiza referencia	en entrega hacia OT
	4. Elimina columna temporal en OT
	5. Elimina columnas duplicadas en entrega que ahora estan en OT
*/

IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Lit_OT' AND COLUMN_NAME = 'entregaId')
	ALTER TABLE Lit_OT ADD entregaId INT	
GO	

IF NOT EXISTS (SELECT 1 FROM Lit_OT)
BEGIN
	
	INSERT Lit_OT (EmpresaId, FechaIngreso, FechaInicial, FechaFinal, FechaEntrega,
				   NumeroOT, ClienteId, ArticuloId, Cantidad, EstadoId, entregaId)	
	SELECT	EmpresaId, FechaInicial, FechaInicial, FechaFinal, FechaFinal,
			NumeroOT, ClienteId, ArticuloId, UnidadesSolicitadas, EstadoId, Id
	FROM	Lit_OTEntrega	
	
	UPDATE	Lit_OTEntrega
	SET		OTId = Lit_OT.Id,
			FechaEntrega = Lit_OT.FechaEntrega,
			Orden = 1
	FROM	Lit_OT
	WHERE	Lit_OT.EntregaId = Lit_OTEntrega.Id
END
GO
IF EXISTS (	SELECT * FROM INFORMATION_SCHEMA.COLUMNS
			WHERE TABLE_NAME = 'Lit_OTEntrega'
			AND COLUMN_NAME = 'NumeroOT')  
	ALTER TABLE Lit_OTEntrega DROP COLUMN NumeroOT
GO
IF EXISTS (	SELECT * FROM INFORMATION_SCHEMA.COLUMNS
			WHERE TABLE_NAME = 'Lit_OTEntrega'
			AND COLUMN_NAME = 'ClienteId') 
	ALTER TABLE Lit_OTEntrega DROP COLUMN ClienteId
GO
IF EXISTS (	SELECT * FROM INFORMATION_SCHEMA.COLUMNS
			WHERE TABLE_NAME = 'Lit_OTEntrega'
			AND COLUMN_NAME = 'ArticuloId') 
	ALTER TABLE Lit_OTEntrega DROP COLUMN ArticuloId
GO

IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Lit_OT' AND COLUMN_NAME = 'entregaId')
	ALTER TABLE Lit_OT DROP COLUMN entregaId
GO


DECLARE @procId AS INT
DECLARE @privilegioRegistroOTId AS INT
DECLARE @privilegioRequisicionId AS INT
DECLARE @privilegioEditarOT AS INT

SELECT @procId = lit_privilegio_id FROM lit_privilegio WHERE lit_privilegio_nombre = 'Procesos'

INSERT INTO lit_privilegio (lit_privilegio_nombre, lit_privilegio_desc, lit_privilegio_padre_id, lit_privilegio_tipo, lit_aplicacion_id) 
VALUES ('Registro de Cotizacion','Registro de Cotización',@procId,'menu',1)

SET @privilegioRegistroOTId = SCOPE_IDENTITY()
INSERT INTO lit_rol_privilegio (lit_rol_id, lit_privilegio_id) 
VALUES (1, @privilegioRegistroOTId)

INSERT INTO lit_privilegio (lit_privilegio_nombre, lit_privilegio_desc, lit_privilegio_padre_id, lit_privilegio_tipo, lit_aplicacion_id) 
VALUES ('Requisicion','Requisición de Materiales',@procId,'menu',1)

SET @privilegioRequisicionId = SCOPE_IDENTITY()
INSERT INTO lit_rol_privilegio (lit_rol_id, lit_privilegio_id) 
VALUES (1, @privilegioRequisicionId)


INSERT INTO lit_privilegio (lit_privilegio_nombre, lit_privilegio_desc, lit_privilegio_padre_id, lit_privilegio_tipo, lit_aplicacion_id) 
VALUES ('Editar OT En Proceso','Editar OT En Proceso',null,'permiso',1)

SET @privilegioEditarOT = SCOPE_IDENTITY()
INSERT INTO lit_rol_privilegio (lit_rol_id, lit_privilegio_id) 
VALUES (1, @privilegioEditarOT)


UPDATE lit_privilegio
SET lit_privilegio_nombre = 'Registro de OT',
	lit_privilegio_desc = 'Registro de OT'
WHERE lit_privilegio_nombre = 'Hoja de Registro'
